﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000F31 RID: 3889
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueMagicGameLevelInfo : IMessage<RogueMagicGameLevelInfo>, IMessage, IEquatable<RogueMagicGameLevelInfo>, IDeepCloneable<RogueMagicGameLevelInfo>, IBufferMessage
	{
		// Token: 0x17003169 RID: 12649
		// (get) Token: 0x0600AE84 RID: 44676 RVA: 0x001D81F4 File Offset: 0x001D63F4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueMagicGameLevelInfo> Parser
		{
			get
			{
				return RogueMagicGameLevelInfo._parser;
			}
		}

		// Token: 0x1700316A RID: 12650
		// (get) Token: 0x0600AE85 RID: 44677 RVA: 0x001D81FB File Offset: 0x001D63FB
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueMagicGameLevelInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x1700316B RID: 12651
		// (get) Token: 0x0600AE86 RID: 44678 RVA: 0x001D820D File Offset: 0x001D640D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueMagicGameLevelInfo.Descriptor;
			}
		}

		// Token: 0x0600AE87 RID: 44679 RVA: 0x001D8214 File Offset: 0x001D6414
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicGameLevelInfo()
		{
		}

		// Token: 0x0600AE88 RID: 44680 RVA: 0x001D8228 File Offset: 0x001D6428
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicGameLevelInfo(RogueMagicGameLevelInfo other) : this()
		{
			this.levelInfoList_ = other.levelInfoList_.Clone();
			this.curLevelIndex_ = other.curLevelIndex_;
			this.extraRoundLimit_ = other.extraRoundLimit_;
			this.status_ = other.status_;
			this.reason_ = other.reason_;
			this.dECKAILMGEJ_ = other.dECKAILMGEJ_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600AE89 RID: 44681 RVA: 0x001D8299 File Offset: 0x001D6499
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicGameLevelInfo Clone()
		{
			return new RogueMagicGameLevelInfo(this);
		}

		// Token: 0x1700316C RID: 12652
		// (get) Token: 0x0600AE8A RID: 44682 RVA: 0x001D82A1 File Offset: 0x001D64A1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RogueMagicLayerInfo> LevelInfoList
		{
			get
			{
				return this.levelInfoList_;
			}
		}

		// Token: 0x1700316D RID: 12653
		// (get) Token: 0x0600AE8B RID: 44683 RVA: 0x001D82A9 File Offset: 0x001D64A9
		// (set) Token: 0x0600AE8C RID: 44684 RVA: 0x001D82B1 File Offset: 0x001D64B1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint CurLevelIndex
		{
			get
			{
				return this.curLevelIndex_;
			}
			set
			{
				this.curLevelIndex_ = value;
			}
		}

		// Token: 0x1700316E RID: 12654
		// (get) Token: 0x0600AE8D RID: 44685 RVA: 0x001D82BA File Offset: 0x001D64BA
		// (set) Token: 0x0600AE8E RID: 44686 RVA: 0x001D82C2 File Offset: 0x001D64C2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint ExtraRoundLimit
		{
			get
			{
				return this.extraRoundLimit_;
			}
			set
			{
				this.extraRoundLimit_ = value;
			}
		}

		// Token: 0x1700316F RID: 12655
		// (get) Token: 0x0600AE8F RID: 44687 RVA: 0x001D82CB File Offset: 0x001D64CB
		// (set) Token: 0x0600AE90 RID: 44688 RVA: 0x001D82D3 File Offset: 0x001D64D3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicLevelStatus Status
		{
			get
			{
				return this.status_;
			}
			set
			{
				this.status_ = value;
			}
		}

		// Token: 0x17003170 RID: 12656
		// (get) Token: 0x0600AE91 RID: 44689 RVA: 0x001D82DC File Offset: 0x001D64DC
		// (set) Token: 0x0600AE92 RID: 44690 RVA: 0x001D82E4 File Offset: 0x001D64E4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicSettleReason Reason
		{
			get
			{
				return this.reason_;
			}
			set
			{
				this.reason_ = value;
			}
		}

		// Token: 0x17003171 RID: 12657
		// (get) Token: 0x0600AE93 RID: 44691 RVA: 0x001D82ED File Offset: 0x001D64ED
		// (set) Token: 0x0600AE94 RID: 44692 RVA: 0x001D82F5 File Offset: 0x001D64F5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint DECKAILMGEJ
		{
			get
			{
				return this.dECKAILMGEJ_;
			}
			set
			{
				this.dECKAILMGEJ_ = value;
			}
		}

		// Token: 0x0600AE95 RID: 44693 RVA: 0x001D82FE File Offset: 0x001D64FE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueMagicGameLevelInfo);
		}

		// Token: 0x0600AE96 RID: 44694 RVA: 0x001D830C File Offset: 0x001D650C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueMagicGameLevelInfo other)
		{
			return other != null && (other == this || (this.levelInfoList_.Equals(other.levelInfoList_) && this.CurLevelIndex == other.CurLevelIndex && this.ExtraRoundLimit == other.ExtraRoundLimit && this.Status == other.Status && this.Reason == other.Reason && this.DECKAILMGEJ == other.DECKAILMGEJ && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600AE97 RID: 44695 RVA: 0x001D839C File Offset: 0x001D659C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			num ^= this.levelInfoList_.GetHashCode();
			if (this.CurLevelIndex != 0U)
			{
				num ^= this.CurLevelIndex.GetHashCode();
			}
			if (this.ExtraRoundLimit != 0U)
			{
				num ^= this.ExtraRoundLimit.GetHashCode();
			}
			if (this.Status != RogueMagicLevelStatus.None)
			{
				num ^= this.Status.GetHashCode();
			}
			if (this.Reason != RogueMagicSettleReason.None)
			{
				num ^= this.Reason.GetHashCode();
			}
			if (this.DECKAILMGEJ != 0U)
			{
				num ^= this.DECKAILMGEJ.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600AE98 RID: 44696 RVA: 0x001D8459 File Offset: 0x001D6659
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600AE99 RID: 44697 RVA: 0x001D8461 File Offset: 0x001D6661
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600AE9A RID: 44698 RVA: 0x001D846C File Offset: 0x001D666C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Status != RogueMagicLevelStatus.None)
			{
				output.WriteRawTag(8);
				output.WriteEnum((int)this.Status);
			}
			if (this.CurLevelIndex != 0U)
			{
				output.WriteRawTag(16);
				output.WriteUInt32(this.CurLevelIndex);
			}
			if (this.Reason != RogueMagicSettleReason.None)
			{
				output.WriteRawTag(56);
				output.WriteEnum((int)this.Reason);
			}
			if (this.DECKAILMGEJ != 0U)
			{
				output.WriteRawTag(80);
				output.WriteUInt32(this.DECKAILMGEJ);
			}
			this.levelInfoList_.WriteTo(ref output, RogueMagicGameLevelInfo._repeated_levelInfoList_codec);
			if (this.ExtraRoundLimit != 0U)
			{
				output.WriteRawTag(112);
				output.WriteUInt32(this.ExtraRoundLimit);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600AE9B RID: 44699 RVA: 0x001D852C File Offset: 0x001D672C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			num += this.levelInfoList_.CalculateSize(RogueMagicGameLevelInfo._repeated_levelInfoList_codec);
			if (this.CurLevelIndex != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.CurLevelIndex);
			}
			if (this.ExtraRoundLimit != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.ExtraRoundLimit);
			}
			if (this.Status != RogueMagicLevelStatus.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Status);
			}
			if (this.Reason != RogueMagicSettleReason.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Reason);
			}
			if (this.DECKAILMGEJ != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.DECKAILMGEJ);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600AE9C RID: 44700 RVA: 0x001D85E0 File Offset: 0x001D67E0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueMagicGameLevelInfo other)
		{
			if (other == null)
			{
				return;
			}
			this.levelInfoList_.Add(other.levelInfoList_);
			if (other.CurLevelIndex != 0U)
			{
				this.CurLevelIndex = other.CurLevelIndex;
			}
			if (other.ExtraRoundLimit != 0U)
			{
				this.ExtraRoundLimit = other.ExtraRoundLimit;
			}
			if (other.Status != RogueMagicLevelStatus.None)
			{
				this.Status = other.Status;
			}
			if (other.Reason != RogueMagicSettleReason.None)
			{
				this.Reason = other.Reason;
			}
			if (other.DECKAILMGEJ != 0U)
			{
				this.DECKAILMGEJ = other.DECKAILMGEJ;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600AE9D RID: 44701 RVA: 0x001D867D File Offset: 0x001D687D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600AE9E RID: 44702 RVA: 0x001D8688 File Offset: 0x001D6888
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 56U)
				{
					if (num == 8U)
					{
						this.Status = (RogueMagicLevelStatus)input.ReadEnum();
						continue;
					}
					if (num == 16U)
					{
						this.CurLevelIndex = input.ReadUInt32();
						continue;
					}
					if (num == 56U)
					{
						this.Reason = (RogueMagicSettleReason)input.ReadEnum();
						continue;
					}
				}
				else
				{
					if (num == 80U)
					{
						this.DECKAILMGEJ = input.ReadUInt32();
						continue;
					}
					if (num == 106U)
					{
						this.levelInfoList_.AddEntriesFrom(ref input, RogueMagicGameLevelInfo._repeated_levelInfoList_codec);
						continue;
					}
					if (num == 112U)
					{
						this.ExtraRoundLimit = input.ReadUInt32();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x040046BC RID: 18108
		private static readonly MessageParser<RogueMagicGameLevelInfo> _parser = new MessageParser<RogueMagicGameLevelInfo>(() => new RogueMagicGameLevelInfo());

		// Token: 0x040046BD RID: 18109
		private UnknownFieldSet _unknownFields;

		// Token: 0x040046BE RID: 18110
		public const int LevelInfoListFieldNumber = 13;

		// Token: 0x040046BF RID: 18111
		private static readonly FieldCodec<RogueMagicLayerInfo> _repeated_levelInfoList_codec = FieldCodec.ForMessage<RogueMagicLayerInfo>(106U, RogueMagicLayerInfo.Parser);

		// Token: 0x040046C0 RID: 18112
		private readonly RepeatedField<RogueMagicLayerInfo> levelInfoList_ = new RepeatedField<RogueMagicLayerInfo>();

		// Token: 0x040046C1 RID: 18113
		public const int CurLevelIndexFieldNumber = 2;

		// Token: 0x040046C2 RID: 18114
		private uint curLevelIndex_;

		// Token: 0x040046C3 RID: 18115
		public const int ExtraRoundLimitFieldNumber = 14;

		// Token: 0x040046C4 RID: 18116
		private uint extraRoundLimit_;

		// Token: 0x040046C5 RID: 18117
		public const int StatusFieldNumber = 1;

		// Token: 0x040046C6 RID: 18118
		private RogueMagicLevelStatus status_;

		// Token: 0x040046C7 RID: 18119
		public const int ReasonFieldNumber = 7;

		// Token: 0x040046C8 RID: 18120
		private RogueMagicSettleReason reason_;

		// Token: 0x040046C9 RID: 18121
		public const int DECKAILMGEJFieldNumber = 10;

		// Token: 0x040046CA RID: 18122
		private uint dECKAILMGEJ_;
	}
}
